@echo off
::设置编码格式utf-8否则有中文乱码
chcp 65001
echo.
echo MySQL数据库开始备份

echo *****************************
echo.
echo 备份时间：%date% %time%
echo.
echo *****************************

set "back_path=D:\dreamsprod\databaseback\back" 
:: 周五 2024/05/17
set "Ymd=%date:~3,4%%date:~8,2%%date:~11,2%"
:: 2024/05/17 周五
:: set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%"

IF NOT EXIST %back_path% (
    md "%back_path%"
) 

mysqldump --defaults-extra-file=D:\dreamsprod\databaseback\dreams.password dreams --skip-lock-tables > "%back_path%\%Ymd%_back.sql"

echo 删除超过7天的备份数据

:: 初始化文件计数器
set "FILE_COUNT=0"
 
:: 遍历文件夹，并计数文件
for /r "%back_path%" %%f in (*) do (
    set /a "FILE_COUNT+=1"
)

echo 当前文件数量：%FILE_COUNT%

if  %FILE_COUNT% gtr 7 (
	echo 当前文件数量大于7，执行删除程序
	
	forfiles /p "%back_path%" /m *back.sql -d -7 /c "cmd /c del /f @path"
) else (
	echo 当前文件数量小于7，不执行删除程序
)

echo MySQL数据库备份完成

rem 关闭窗口
@echo 数据库备份操作完成，5秒后关闭程序...
ping /n 5 127.1 >nul
exit